htt[p]erl, simulador de web server
Publicado por Fábio Berbert de Paula 06/01/2003
[ Hits: 8.134 ]
Homepage: https://fabio.automatizando.dev
htt[p]erl é um script usado para simular um servidor web, muito bom para quem deseja entender melhor o protocolo de comunicação entre browser e servidor. O programa fica escutando na porta TCP 80 e envia uma página HTML padrão para o browser do usuário.
#!/usr/bin/perl
# ---------------------------------------------------------
# httperl.pl (htt[p]erl)
#
# Script em Perl usado para simular um servidor web, muito
# bom para quem deseja entender melhor o protocolo de
# comunicação entre browser e servidor
#
#
# Programado por Fábio Berbert de Paula
# <fabio@vivaolinux.com.br>
#
# Rio de Janeiro, 06 de Janeiro de 2003
# ---------------------------------------------------------
$| = 1;
# criar socket na porta 80 do servidor
use IO::Socket;
my $sock = new IO::Socket::INET (
LocalPort => '80',
Type => SOCK_STREAM,
Proto => 'tcp',
Listen => 10
);
die "Não consegui iniciar o servidor: $!\n" unless $sock;
print "Servidor iniciado ...\n";
# definir o cabeçalho de retorno básico
my $retorno = "
HTTP/1.1 200 OK
Server: htt[p]erl/1.0 (GNU/Linux)
Connection: close
Content-Type: text/html
<html>
<body>
Uma cortesia de <a href=\"http://www.vivaolinux.com.br\">Viva o Linux</a>.
</body>
</html>
";
# aceitar conexões TCP
while (my $new_sock = $sock->accept()) {
while($linha = <$new_sock>) {
# imprimir o cabeçalho recebido pelo browser do usuário
print $linha;
# se linha vazia, então o browser envio câmbio, vamos respondê-lo
if ($linha!~/[A-Za-z0-9]/) {
print $new_sock $retorno;
# fechar conexão com o cliente
$new_sock = '';
}
}
close(W);
}
close($sock);
Verificação de IP em blacklists
Algoritmo de Fatoração de Fermat (FFA) em Perl
Nenhum comentário foi encontrado.
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Instalando COSMIC no Linux Mint
Turbinando o Linux Mint: o poder das Nemo Actions
Inteligência Artificial no desenvolvimento de software: quando começar a usar?
O widget do Plasma 6 Área de Notificação
[Resolvido] Algo deu errado ao abrir seu perfil
Quando vocês pararam de testar distros? (14)
Problema com som no laptop (3)
Não estou conseguindo fazer funcionar meu Postfix na versão 2.4 no Deb... (2)









